package com.fowo.api.model.logistics.withdraw;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import javax.validation.constraints.*;
import lombok.Data;

/**
 * 物流请款 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Data
public class LogisticsWithdrawImportPo {

  /** 物流商 */
  @ExcelProperty("物流商")
  @Size(max = 50, message = "物流商长度不能超过50")
  private String logisticsProvider;

  /** 发货单号 */
  @ExcelProperty("发货单号")
  @Size(max = 50, message = "发货单号长度不能超过50")
  private String inoviceCodeLogisticsProvider;

  /** 品名 */
  @ExcelProperty("品名")
  @Size(max = 500, message = "品名长度不能超过500")
  private String productNameName;

  /** 物流商单号 */
  @ExcelProperty("物流商单号")
  @Size(max = 50, message = "物流商单号长度不能超过50")
  private String logisticsProvidercode;

  /** 状态 */
  @ExcelProperty("状态")
  private String status;

  /** 收货仓库 */
  @ExcelProperty("收货仓库")
  @Size(max = 50, message = "收货仓库长度不能超过50")
  private String receivingWarehouseName;

  /** 物流方式 */
  @ExcelProperty("物流方式")
  private String logisticsMode;

  /** 费用类型 */
  @ExcelProperty("费用类型")
  private String feeType;

  /** 费用金额 */
  @ExcelProperty("费用金额")
  @DecimalString(message = "费用金额小数格式不正确", label = "费用金额")
  private String feeMoney;

  /** 应付金额 */
  @ExcelProperty("应付金额")
  @DecimalString(message = "应付金额小数格式不正确", label = "应付金额")
  private String handleMoney;

  /** 折扣金额 */
  @ExcelProperty("折扣金额")
  @DecimalString(message = "折扣金额小数格式不正确", label = "折扣金额")
  private String discountAmount;

  /** 已付金额 */
  @ExcelProperty("已付金额")
  @DecimalString(message = "已付金额小数格式不正确", label = "已付金额")
  private String actuallyPaid;

  /** 未付金额 */
  @ExcelProperty("未付金额")
  @DecimalString(message = "未付金额小数格式不正确", label = "未付金额")
  private String unpaidMoney;

  /** 申请中 */
  @ExcelProperty("申请中")
  @DecimalString(message = "申请中小数格式不正确", label = "申请中")
  private String inApplication;

  /** 未申请 */
  @ExcelProperty("未申请")
  @DecimalString(message = "未申请小数格式不正确", label = "未申请")
  private String notApply;

  /** 费用录入人 */
  @ExcelProperty("费用录入人")
  @Size(max = 50, message = "费用录入人长度不能超过50")
  private String feeRecorder;

  /** 录入时间 */
  @ExcelProperty("录入时间")
  @DateString(message = "录入时间不是有效的日期格式")
  private String recordTime;

  /** 结算描述 */
  @ExcelProperty("结算描述")
  @Size(max = 50, message = "结算描述长度不能超过50")
  private String describe;

  /** 预付比例 */
  @ExcelProperty("预付比例")
  @DecimalString(message = "预付比例小数格式不正确", label = "预付比例")
  private String budgetRatio;

  /** 预计付款时间 */
  @ExcelProperty("预计付款时间")
  @DateString(message = "预计付款时间不是有效的日期格式")
  private String predictFkTime;

  /** 支付方式 */
  @ExcelProperty("支付方式")
  private String payType;

  /** 收款账户名称 */
  @ExcelProperty("收款账户名称")
  @Size(max = 50, message = "收款账户名称长度不能超过50")
  private String receiveAccount;

  /** 户名 */
  @ExcelProperty("户名")
  @Size(max = 50, message = "户名长度不能超过50")
  private String userName;

  /** 开户行 */
  @ExcelProperty("开户行")
  @Size(max = 50, message = "开户行长度不能超过50")
  private String bankOfDeposit;

  /** 账户 */
  @ExcelProperty("账户")
  @Size(max = 50, message = "账户长度不能超过50")
  private String account;

  /** 备注 */
  @ExcelProperty("备注")
  @Size(max = 50, message = "备注长度不能超过50")
  private String remarks;
}
